﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Database;

namespace Fabrica10.Negocios
{
    public class GerarNotaFiscal
    {
        //fazer somatório total de um certo período
        //retornar uma lista <despesa, preco/hora, valor> cujo último elemento seja o total
        public List<Despesa> getNotaFiscal(string idPaciente, DateTime inicio, DateTime final)
        {
            var ctx = new DataClasses1DataContext();
            List<Despesa> d = new List<Despesa>();
            decimal custototal = 0;
            int totalitens = 0;

            var qry = from n in ctx.NotasFiscaisBoletos
                      where n.IdCliente == idPaciente && (n.Data >= inicio && n.Data <= final)
                      select n;


            Dados e = new Dados();
            foreach (NotasFiscaisBoleto nota in qry)
            {
                d.Add(new Despesa(nota.Item, (int)nota.Quantidade, (decimal)nota.PrecoUnitario));
                custototal += ((decimal)nota.PrecoUnitario) * ((decimal)nota.Quantidade) * (((decimal)1)-(decimal)e.Imposto);
                totalitens += (int)nota.Quantidade;
            }
            
            d.Add(new Despesa("Total", totalitens, custototal));
            d.Add(new Despesa(e.NomeEmpresa, 0, 0));
            d.Add(new Despesa(e.Endereco, 0, 0));
            d.Add(new Despesa(e.Imposto.ToString(), 0, 0));
            return d;
        }
    }
}
